var app = getApp();
import tool from "../../utils/util";
import logs from "../../utils/logs"
Page({
  data: {
    language: {},
    // 商品列表数据
    goodsData: [],
    // banner数据
    bannerData: [{
      'thumb': ''
    }],
    adPlace: [], //广告位
    params: {},
    // menu
    memuData: [],
    // 是否显示面板指示点
    indicatorDots: true,
    // 方向
    vertical: false,
    // 是否自动切换
    autoplay: true,
    // 自动切换时间间隔
    interval: 4000,
    // 滑动动画时长
    duration: 300,

    designerItem: [],
    isDesigner: false,
    pageinfo: {},

    designer: '',
    readyshow: false,
    defaultdata: '',
    last_page: '',
    isLoadMore: false,
    page: 1,
    footshow: false,
    fullShow: false,
    popShow: false,
    advertisement: {},
    bottomShowBol: false,
    bottomShowBolIndex: 0,
    isWatch: true,
    everyTime: false,
    showNewcomerAward: false, //是否显示新人奖
    new_member_prize: {}, //新人奖奖品信息

    //新装修
    page_id: 0,
    components: [],
    advertising: {},
    full_screen: {},
    top_info: {},
    bottom_info: {},
    mailInfo: {},
    clientWidth: '375',
    btnFlag: false,
    foot_type: '',

    current_page: 1,
    total_page: 0,
    decorate_isLoadMore: true,
    lastIndex: '',

    showPage: true,

    showShare: false,
    shareOptions: [{
      name: '分享给好友',
      icon: 'wechat',
      openType: 'share'
    }],
    goodshare_info: {},
    device_no:"",//生态圈饮水机

    //慈善基金海报相关参数
    charityFundInfo: {
      show: false,
      poster: ''
    },

    showDropdownMenu:false, //下拉菜单禁止滚动
    
    lotteryShareId:'',
    // 团队名称新增显示
    teamNameShow:false,
    member_team_title:'',
    pageScrollTopV: 0,//页面滚动条距离
    imgPath: app.globalData.imgPath,
  },
  componentGoodShares(e) {
    if (e.detail) {
      this.setData({
        goodshare_info: e.detail,
        showShare: true
      });
    }
  },
  componentMenuOpen(e) {
    this.setData({
      showDropdownMenu: e.detail
    });
  },
  componentMenuClose(e) {
    this.setData({
      showDropdownMenu: e.detail
    });
  },
  onClose() {
    this.setData({
      goodshare_info: {},
      showShare: false
    });
  },
  onSelect() {
    this.setData({
      showShare: false
    });
  },
  // 分享
  onShareTimeline() {
    var value = wx.getStorageSync('yz_uid');
    var mid = '';
    if (value) {
      mid = value;
    }
    let navtitle = wx.getStorageSync('pageinfo');
    let _params ={
      title: navtitle.desc,
      query: `mid=${mid}`
    }
    for(let i = 0;i<this.data.components.length;i++){
      if(this.data.components[i].component_key == 'U_lottery'){
        _params.path = '/packageG/index/index?mid=' + mid + '&lt=1'
      }
    }
    return _params;
  },
  onShareAppMessage: function (e) {
    var value = wx.getStorageSync('yz_uid');
    var mid = '';
    if (value) {
      mid = value;
    }
    if (e && e.from == 'button' && e.target.dataset.tag == "shareTag") {
      // 拼团活动二开#73727 弹窗邀请朋友
      if (e.target.dataset.item == '1') {
        let _path = '/packageB/member/group/GroupDetail/GroupDetail?id=' + e.target.dataset.info.id + '&mid=' + mid;
        let _title = e.target.dataset.title;
        if (e.target.dataset.store) {
          _path = '/packageB/member/group/GroupDetail/GroupDetail?id=' + e.target.dataset.info.id + 'store=' + e.target.dataset.store + '&mid=' + mid;
        }
        if (app.globalData.store_alone_temp == 1 && that.globalData.STORE_ID) {
          _path = `${_path}&store_alone_id=${app.globalData.STORE_ID}`;
        }
        return {
          path: _path,
          title: _title
        };
      }
    }
    let navtitle = wx.getStorageSync('pageinfo');
    let _params = {
      title: navtitle.title,
      path: '/packageG/index/index?mid=' + mid
    };
    if (JSON.stringify(this.data.goodshare_info) != "{}" && e.from == "button") {
      _params.title = this.data.goodshare_info.name,
      _params.path = '/packageA/detail_v2/detail_v2?id=' + this.data.goodshare_info.id + '&mid=' + mid,
      _params.imageUrl = this.data.goodshare_info.img;
    }
    this.data.goodshare_info = {};
    for(let i = 0;i<this.data.components.length;i++){
      if(this.data.components[i].component_key == 'U_lottery'){
        _params.path = '/packageG/index/index?mid=' + mid + '&lt=1'
      }
    }
    return _params;
  },
  onLoad: function (options) {
   app.globalData.beforeBindMobilePage = '';
    //判断是否需要显示慈善基金海报
    if (options&&options.is_charity_fund && options.is_charity_fund == 1) {
      this.getCharityFundPoster(options.order_id);
    }
   

    wx.showShareMenu({
      withShareTicket: false,
      menus: ['shareAppMessage', 'shareTimeline']
    });

    let mapstatus = wx.getStorageSync('address-status');
    // console.log(mapstatus)
    if (mapstatus == 1) {
      let maplist = wx.getStorageSync('address-point');
      console.log(maplist, "有选择的地址");
    } else {
      console.log('没有选择的地址就定位当前位置');
    }
    // console.log(options)

    if (options.scene) {
      let scene = decodeURIComponent(options.scene);
      console.log(scene, '21668');
      if (scene) {
        var info_arr = [];
        info_arr = scene.split(',');
        for (let i = 0; i < info_arr.length; i++) {
          let chil_arr = [];
          chil_arr = info_arr[i].split('=');
          if (chil_arr[0] == "mid") {
            app._setMid(chil_arr[1]);
          }
          if (chil_arr[0] == 'address_code') {
            app.data.address_code = chil_arr[1];
          }
          if(chil_arr[0] == 'wdn'){
            this.setData({device_no:chil_arr[1]});
            wx.setStorageSync('device_no',chil_arr[1])
          }
        }
      }
    }
    if(wx.getStorageSync('device_no')){ //生态圈打水机
      this.setData({device_no:wx.getStorageSync('device_no')});
    }
    try {
      const updateManager = wx.getUpdateManager();
      updateManager.onUpdateReady(function () {
        wx.showModal({
          title: '更新提示',
          content: '新版本已经准备好，是否重启应用？',
          success(res) {
            if (res.confirm) {
              // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
              updateManager.applyUpdate();
            }
          }
        });
      });
    } catch (err) {
      console.error(err);
    }
    if (options.mid) {
      app._setMid(options.mid);
    }
    if(options.lt==1){
      this.setData({
        lotteryShareId:options.mid
      })
    }
    let new_decorate = wx.getStorageSync("new_decorate");
    let home_onUnload = wx.getStorageSync('home_onUnload');
    let basic_info = wx.getStorageSync("yz_basic_info");
    if (home_onUnload == 1 && new_decorate) {
      // 页面加载
      this._getOldData(new_decorate);
    } else {
      // 页面加载
      this._getData();
    }
    this.setData({
      mailInfo: basic_info.home ? basic_info.home.mailInfo : {},
      clientWidth: wx.getSystemInfoSync().windowWidth,
    });
  },
  onReady: function () {
    // 页面渲染完成
    let language = wx.getStorageSync('langIndex');
    this.setData({
      'language': language.en
    });

  },
  onShow: function () {
    // 页面显示
    // if (this.data.everyTime) {
    // 	this.getAdvertise();  旧弹窗
    // }
    
  },
  onHide: function () {
    // 页面隐藏
    this.setData({
      //关闭新人奖弹窗
      showNewcomerAward: false
    });
  },
  onUnload: function () {
    // 页面关闭
    wx.setStorageSync('home_onUnload', 1);
  },
  onPullDownRefresh: function () {
    // 下拉刷新
    console.log('onPullDownRefresh', new Date());
    wx.setStorageSync('popAdvertisement', false);
    this._getData();
  },
  // 获取滚动条当前位置
  onPageScroll: tool.throttle(function (msg) {
    let e = msg[0];
    // 节流
    this.setData({
      pageScrollTopV: e.scrollTop
    })
    if (e.scrollTop >75) {
      if (!this.data.btnFlag) {
        this.setData({
          btnFlag: true,
        });
      }
    } else {
      if (this.data.btnFlag) {
        this.setData({
          btnFlag: false,
        });
      }
    }
    if (this.data.bottomShowBol) {
      this.setData({
        bottomShowBol: false
      });
    }
  },50),
  //获取慈善基金的海报
  getCharityFundPoster(id) {
    let urlStr = app.getNetAddresss("plugin.charity-fund.api.create_new_poster.createPoster");
    app._getNetWork({
      url: urlStr,
      data: {
        order_id: id
      },
      success: (resdata) => {
        var res = resdata.data;
        if (res.result == 1) {
          this.setData({
            'charityFundInfo.show': true,
            'charityFundInfo.poster': res.data
          });
        }
      }
    });
  },
  closeCharityFundPoster() {
    this.setData({
      'charityFundInfo.show': false
    });
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log('页面触底 onReachBottom');
    // 加载更多
    if (this.data.defaultdata) {
      if (this.data.isLoadMore) {
        this.getMoreData();
      } else {
        console.log('没有更多数据');
      }
    }
    this.setData({
      bottomShowBol: true,
    });
    console.log(this.data.bottomShowBol);
    if (this.data.decorate_isLoadMore) {
      this.getMoreDecorate();
    }
  },
  closeBtn() {
    //新人奖弹窗关闭按钮
    this.setData({
      showNewcomerAward: false,
    });
    // this.getAdvertise();

    // 新弹窗广告
    let popAdvertisement = wx.getStorageSync('popAdvertisement');
    if (this.data.advertising && this.data.advertising.id && !popAdvertisement) {
      wx.setStorageSync('popAdvertisement', true);
      this.setData({
        popShow: true
      });
    }

    let storage_newAward = wx.getStorageSync("storage_newAward");
    // let new_decorate = wx.getStorageSync("new_decorate");
    console.log("关闭新人奖弹窗======");
    if (storage_newAward) {
      storage_newAward = null;
      // wx.setStorageSync('yz_basic_info', storage_newAward);
      wx.setStorageSync('storage_newAward', storage_newAward);
    }
    if(!app._isTextEmpty(this.data.activityDatas.after_mini)){
      wx.redirectTo({
        url: this.data.activityDatas.after_mini,
      })
      return
    }
    // if (new_decorate && new_decorate.plugin && new_decorate.plugin.new_member_prize) {
    //   new_decorate.plugin.new_member_prize = null;
    //   wx.setStorageSync('new_decorate', new_decorate);
    // }
  },
  initBalanceLang(data) {
    wx.setStorageSync('balance', data || '余额');
  },
  checkStoreAlone() {
    if (app.globalData.store_alone_temp == 1) {
      // 门店独立模块
      if (!app.globalData.STORE_ID) {
        // 没有门店id就跳转提示页
        wx.reLaunch({
          url: '/packageG/independent_store/access_tip/access_tip',
        });
      } else {
        // 有就跳首页
        wx.reLaunch({
          url: '/packageG/independent_store/index/index?store_id=' + app.globalData.STORE_ID,
        });
      }
      return true;
    }
    return false;
  },
  _getOldData(home_data) {
    let that = this;
    if (this.checkStoreAlone()) {
      return;
    }

    wx.showLoading({
      title: '加载中'
    });
    this.setData({
      showPage: false
    });

    that.setData({
      footshow: true
    });

    // 装修数据
    let designerItem = home_data.item;

    let _data = home_data.default;
    if (_data) {
      that.setData({
        defaultdata: home_data.default, // 默认模板消息
        last_page: home_data.default.goods.last_page,
        isLoadMore: false,
        page: 1
      });
      that.setData({
        isLoadMore: that.data.last_page > 1
      });
    }

    //爱心值和浏览权限
    let params = designerItem.pageinfo ? designerItem.pageinfo.params : {};
    that.setData({
      params: params,
      designer: home_data.designer ? home_data.designer : '', // 爱心值
      isWatch: params.allowauth == 0 ? false : true
    });
    if (!that.data.isWatch && designerItem.page_info.member_level_url && designerItem.page_info.member_level_url.link &&
      designerItem.page_info.member_level_url.link.indexOf('packageG/index/index') < 0) {
      wx.redirectTo({
        url: designerItem.page_info.member_level_url.link,
      });
    }
    console.log("会员是否可浏览装修页2", that.data.isWatch);

    //标题设置
    if (designerItem.data != '' && (designerItem.page_info && designerItem.page_info.page_title)) {
      wx.setNavigationBarTitle({
        title: designerItem.page_info.page_title ? designerItem.page_info.page_title : that.data.mailInfo.name || ''
      });

      wx.setStorageSync('pageinfo', {
        title: designerItem.page_info.page_title ? designerItem.page_info.page_title : that.data.mailInfo.name,
        desc: designerItem.page_info.page_description
      });
    } else {
      wx.setNavigationBarTitle({
        title: that.data.mailInfo.name || ''
      });
    }
    if (designerItem.page_info && designerItem.page_info.preview_color) {
      wx.setNavigationBarColor({
        backgroundColor: designerItem.page_info.preview_color,
        frontColor: designerItem.page_info.font_color == 1 ? '#ffffff' : '#000000',
        animation: {
          duration: 400,
          timingFunc: 'easeIn'
        }
      });
    }

    // 店铺装修
    if (designerItem.datas) {
      for (let i = 0; i < designerItem.datas.length; i++) {
        // console.log(designerItem.datas[i]);
        if(designerItem.datas[i].component_key == 'U_newBlindBox') {
          wx.redirectTo({url: "/packageF/new_blind_box/index"}); // 设置了新盲盒，跳转到盲盒首页链接
          break;
        }
        if (designerItem.datas[i].component_key == 'U_goods') {
          designerItem.datas[i].index = i;
        }
        if (designerItem.datas[i].component_key == 'U_location') {
          designerItem.datas[i].home = true;
        }
        if (designerItem.datas[i].component_key == 'U_signin') {
          designerItem.datas[i].host = app.data.host;
        }
        designerItem.datas[i].designer = that.data.designer;
      }
      that.setData({
        isDesigner: true,
        decorate_isLoadMore: true,
        designerItem: designerItem.datas,
        page_id: designerItem.id,
        components: designerItem.datas,
        foot_type: designerItem.foot_type
      });

      if (designerItem.page) {
        that.setData({
          total_page: designerItem.page.total_page,
          current_page: designerItem.page.current_page,
          bottomShowBolIndex: designerItem.page.count - 1,
        });
      }

      if (designerItem.page_info) {
        that.setData({
          advertising: designerItem.page_info.advertising_id || {},
          full_screen: designerItem.page_info.full_screen_id || {},
        });

        if (that.data.advertising.id && that.data.advertising.datas) {
          that.data.advertising.datas = JSON.parse(that.data.advertising.datas);
          that.setData({
            advertising: that.data.advertising,
          });
        }
      }

      if (designerItem.top && designerItem.top.id) {
        this.setData({
          top_info: JSON.parse(designerItem.top.page_info)
        });
      }

      // 装修的底部有三种情况
      if (designerItem.foot_type == -1) {
        // 不显示
        this.setData({
          bottom_info: {}
        });
      } else if (designerItem.foot_type == 1) {
        // 显示默认
        if (!designerItem.foot || !designerItem.foot.page_info) {
          // 显示系统默认
          this.setData({
            bottom_info: {}
          });
        } else {
          // 显示列表设置的默认
          this.setData({
            bottom_info: JSON.parse(designerItem.foot.page_info)
          });
        }
      } else if (designerItem.foot_type == 2) {
        // 显示自定义的底部导航
        if (designerItem.foot instanceof Array) {
          this.setData({
            bottom_info: {}
          });
        } else {
          this.setData({
            bottom_info: JSON.parse(designerItem.foot.page_info)
          });
        }
      }

      let fullAdvertisement = wx.getStorageSync('fullAdvertisement');
      if (this.data.full_screen && this.data.full_screen.id && !fullAdvertisement && this.data.full_screen.show_rule === 1) {
        wx.setStorageSync('fullAdvertisement', true);
        this.setData({
          fullShow: true
        });
        setTimeout(() => {
          this.countDown(this.data.full_screen.show_time);
        }, 2000);
      }

      let fullAdvertisement_expiration = wx.getStorageSync('fullAdvertisement_expiration');
      let newTime = parseInt(Date.parse(new Date()) / 1000);

      if (this.data.full_screen && this.data.full_screen.id && this.data.full_screen.show_rule === 2 && fullAdvertisement_expiration < newTime) {
        let timestamp = parseInt((new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) / 1000); //当天23:59:59
        wx.setStorageSync("fullAdvertisement_expiration", timestamp);
        this.setData({
          fullShow: true
        });
        setTimeout(() => {
          this.countDown(this.data.full_screen.show_time);
        }, 2000);
      }

    } else {
      //默认数据设置开始
      that.setData({
        readyshow: true
      });

      // menu
      var size = 10;
      var _memuData = _data.category;
      var _memuOldData = _memuData;
      var page = Math.ceil(_memuData.length / size);

      // mailInfo
      wx.setStorageSync('pageinfo', {
        title: that.data.mailInfo.name,
        desc: that.data.mailInfo.name
      });

      wx.setNavigationBarTitle({
        title: that.data.mailInfo.name || ''
      });

      // 设置memu height
      var menuHeightClass;

      if (_memuData.length <= 5) {
        menuHeightClass = 'in1';
      } else {
        menuHeightClass = 'in2';
      }

      var dataArray = [];

      for (var i = 0; i < page; i++) {
        var dataArray2 = [];
        for (var j = 0; j < size; j++) {
          var a = _memuData[j];
          if (a != undefined) {
            dataArray2.push(_memuData[j]);
          }
        }
        _memuOldData = _memuOldData.slice(size);

        _memuData = _memuOldData;
        dataArray.push(dataArray2);
      }

      that.setData({
        bannerData: _data.ads,
        goodsData: _data.goods,
        memuData: dataArray,
        footshow: true,
        bottom_info: {},
        // 设置memu height
        menuHeightClass: menuHeightClass,
      });
    }

    that.setData({
      showPage: true
    });
    wx.hideLoading();

    //是否显示新人奖弹窗
    try {
      let storage_newAward = wx.getStorageSync("storage_newAward");

      if (storage_newAward && storage_newAward.prize) {
        let _prizeData = storage_newAward;
        let new_member_prize = {};
        let activityDatas= _prizeData.activity;
        new_member_prize.type = _prizeData.activity.background_type;
        new_member_prize.title = _prizeData.activity.title;
        new_member_prize.awardlist = _prizeData.prize;

        if (storage_newAward.prize.length == 0) {
          that.setData({
            showNewcomerAward: false,
          });
        } else {
          that.setData({
            new_member_prize: new_member_prize,
            activityDatas:activityDatas,
          });
          setTimeout(() => {
            that.setData({
              showNewcomerAward: true
            })
          }, 200);
        }
      } else {
        // 新弹窗广告
        let popAdvertisement = wx.getStorageSync('popAdvertisement');
        if (this.data.advertising && this.data.advertising.id && !popAdvertisement && this.data.advertising.show_rule === 1) {
          wx.setStorageSync('popAdvertisement', true);
          this.setData({
            popShow: true
          });
        }

        let popAdvertisement_expiration = wx.getStorageSync('popAdvertisement_expiration');
        let pop_newTime = parseInt(Date.parse(new Date()) / 1000);
        if (this.data.advertising && this.data.advertising.id && this.data.advertising.show_rule === 2 && popAdvertisement_expiration < pop_newTime) {
          let timestamp = parseInt((new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) / 1000); //当天23:59:59
          wx.setStorageSync("popAdvertisement_expiration", timestamp);
          //每日小程序登录弹出
          this.setData({
            popShow: true
          });
        }
      }
    } catch (e) {
      console.log("新人奖报错：：：", e);
    }
    // 是否显示团队弹窗
    try {
        if(!this.yz_basic_info) this.yz_basic_info = wx.getStorageSync('yz_basic_info')
        let member_team = this.yz_basic_info?.globalParameter?.member_team||null;
        this.setData({
          teamNameShow: member_team ? true : false,
          member_team_title: member_team || ''
        })
        this.pluginHandle();//处理插件的
    } catch (error) {
      logs.info('---------packageG\index\index.js 765------------',error)
    }
  },
  locationSuccess(e){
    this._getData(e.detail)
  },
  _getData: function (extinfo = {}) {
    let that = this;
    if (this.checkStoreAlone()) {
      return;
    }
    let _params = { ...extinfo };
    let myLoaction = wx.getStorageSync('address-point')
    let adcode = myLoaction?.adcode||null;//城市关联装修页面
    _params.address_code = adcode;
    if(extinfo.address_code) _params.address_code = extinfo.address_code;

    let urlstr = app.getNetAddresss('home-page.wxapp');
    wx.showLoading({
      title: '加载中'
    });
    this.setData({
      showPage: false
    });

    app._getNetWork({
      // url: app.getNetAddresss("home-page.index")//这是微信商城首页的接口,
      url: urlstr,
      data: _params,
      success: (res) => {
        if (res.data && res.data.basic_info) {
          that.initBalanceLang(res.data.basic_info.lang?.member_center?.credit || '余额');
          this.setData({
            mailInfo: res.data.basic_info.home ? res.data.basic_info.home.mailInfo : {},
          });
        }
        try {
          if(res.data.basic_info ){
            // 有basic_info
            if(!this.yz_basic_info) this.yz_basic_info = res.data.basic_info;
            this.setData({
              teamNameShow:res.data.basic_info.globalParameter && res.data.basic_info.globalParameter.member_team ? true : false,
              member_team_title:res.data.basic_info.globalParameter && res.data.basic_info.globalParameter.member_team ? res.data.basic_info.globalParameter.member_team : ''
            })
            this.pluginHandle(res.data.basic_info);//处理插件的
          }else{
            this.pluginHandle();//处理插件的
            // 没有basic_info就去缓存看下
            if(!this.yz_basic_info) this.yz_basic_info = wx.getStorageSync('yz_basic_info');
            let member_team = this.yz_basic_info?.globalParameter?.member_team||null;
            this.setData({
              teamNameShow: member_team ? true : false,
              member_team_title:member_team || ''
            })
          }
          
        } catch (error) {
          console.log(error)
          logs.info('---------packageG\index\index.js 777------------',error)
        }
        wx.stopPullDownRefresh({
          complete: function (res) {
            console.log('关闭下拉刷新', res, new Date());
          }
        });

        that.setData({
          footshow: true
        });

        if (res.data.data.item && app.globalData.store_alone_temp != 1) {
          // app.globalData.store_alone_temp != 1 门店独立模块不缓存首页数据
          try {
            wx.setStorageSync('new_decorate', res.data.data);
          } catch (e) {
            console.log("数据过大真机会出现无法存储【#85269】",e);
          }
        }

        // 装修数据
        let designerItem = res.data.data.item;

        var _data = res.data.data.default;
        if (_data) {
          that.setData({
            defaultdata: res.data.data.default, // 默认模板消息
            last_page: res.data.data.default.goods.last_page,
            isLoadMore: false,
            page: 1
          });
          that.setData({
            isLoadMore: that.data.last_page > 1
          });
        }

        //爱心值和浏览权限
        let params = designerItem.pageinfo ? designerItem.pageinfo.params : {};
        that.setData({
          params: params,
          designer: res.data.data.designer ? res.data.data.designer : '', // 爱心值
          isWatch: params.allowauth == 0 ? false : true
        });
        if (!that.data.isWatch && designerItem.page_info.member_level_url && designerItem.page_info.member_level_url.link &&
          designerItem.page_info.member_level_url.link.indexOf('packageG/index/index') < 0) {
          wx.redirectTo({
            url: designerItem.page_info.member_level_url.link,
          });
        }
        console.log("会员是否可浏览装修页2", that.data.isWatch);

        //标题设置
        if (designerItem.data != '' && (designerItem.page_info && designerItem.page_info.page_title)) {
          wx.setNavigationBarTitle({
            title: designerItem.page_info.page_title ? designerItem.page_info.page_title : that.data.mailInfo.name || ''
          });
          wx.setStorageSync('pageinfo', {
            title: designerItem.page_info.page_title ? designerItem.page_info.page_title : that.data.mailInfo.name,
            desc: designerItem.page_info.page_description
          });
        } else {
          wx.setNavigationBarTitle({
            title: that.data.mailInfo.name || ''
          });
        }
        if (designerItem.page_info && designerItem.page_info.preview_color) {
          wx.setNavigationBarColor({
            backgroundColor: designerItem.page_info.preview_color,
            frontColor: designerItem.page_info.font_color == 1 ? '#ffffff' : '#000000',
            animation: {
              duration: 400,
              timingFunc: 'easeIn'
            }
          });
        }
        console.log(designerItem.datas);
        // 店铺装修
        if (designerItem.datas) {
          for (let i = 0; i < designerItem.datas.length; i++) {
            if(designerItem.datas[i].component_key == 'U_newBlindBox') {
              wx.redirectTo({url: "/packageF/new_blind_box/index"}); // 设置了新盲盒，跳转到盲盒首页链接
              break;
            }
            if (designerItem.datas[i].component_key == 'U_goods') {
              designerItem.datas[i].index = i;
            }
            if (designerItem.datas[i].component_key == 'U_location') {
              designerItem.datas[i].home = true;
            }
            if (designerItem.datas[i].component_key == 'U_signin') {
              designerItem.datas[i].host = app.data.host;
            }
            if (designerItem.datas[i].component_key == 'U_couponStore') {
              designerItem.datas[i].index = i;
            }
            designerItem.datas[i].designer = that.data.designer;
          }
          that.setData({
            isDesigner: true,
            decorate_isLoadMore: true,
            designerItem: designerItem.datas,
            page_id: designerItem.id,
            components: designerItem.datas,
            foot_type: designerItem.foot_type
          });
          if (designerItem.page) {
            that.setData({
              total_page: designerItem.page.total_page,
              current_page: designerItem.page.current_page,
              bottomShowBolIndex: designerItem.page.count - 1,
            });
          }

          if (designerItem.page_info) {
            that.setData({
              advertising: designerItem.page_info.advertising_id || {},
              full_screen: designerItem.page_info.full_screen_id || {},
            });

            if (that.data.advertising.id && that.data.advertising.datas) {
              that.data.advertising.datas = JSON.parse(that.data.advertising.datas);
              that.setData({
                advertising: that.data.advertising,
              });
            }

            let fullAdvertisement = wx.getStorageSync('fullAdvertisement');
            if (this.data.full_screen && this.data.full_screen.id && !fullAdvertisement && this.data.full_screen.show_rule === 1) {
              wx.setStorageSync('fullAdvertisement', true);
              this.setData({
                fullShow: true
              });
              setTimeout(() => {
                this.countDown(this.data.full_screen.show_time);
              }, 2000);
            }

            let fullAdvertisement_expiration = wx.getStorageSync('fullAdvertisement_expiration');
            let newTime = parseInt(Date.parse(new Date()) / 1000);

            if (this.data.full_screen && this.data.full_screen.id && this.data.full_screen.show_rule === 2 && fullAdvertisement_expiration < newTime) {
              let timestamp = parseInt((new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) / 1000); //当天23:59:59
              wx.setStorageSync("fullAdvertisement_expiration", timestamp);
              this.setData({
                fullShow: true
              });
              setTimeout(() => {
                this.countDown(this.data.full_screen.show_time);
              }, 2000);
            }
          }

          if (designerItem.top && designerItem.top.id) {
            this.setData({
              top_info: JSON.parse(designerItem.top.page_info)
            });
          }

          // 装修的底部有三种情况
          if (designerItem.foot_type == -1) {
            // 不显示
            this.setData({
              bottom_info: {}
            });
          } else if (designerItem.foot_type == 1) {
            // 显示默认
            if (!designerItem.foot || !designerItem.foot.page_info) {
              // 显示系统默认
              this.setData({
                bottom_info: {}
              });
            } else {
              // 显示列表设置的默认
              this.setData({
                bottom_info: JSON.parse(designerItem.foot.page_info)
              });
            }
          } else if (designerItem.foot_type == 2) {
            // 显示自定义的底部导航
            if (designerItem.foot instanceof Array) {
              this.setData({
                bottom_info: {}
              });
            } else {
              this.setData({
                bottom_info: JSON.parse(designerItem.foot.page_info)
              });
            }
          }

        } else {
          //默认数据设置开始
          that.setData({
            readyshow: true
          });

          // menu
          var size = 10;
          var _memuData = _data.category;
          var _memuOldData = _memuData;
          var page = Math.ceil(_memuData.length / size);

          // mailInfo
          wx.setStorageSync('pageinfo', {
            title: that.data.mailInfo.name,
            desc: that.data.mailInfo.name
          });

          wx.setNavigationBarTitle({
            title: that.data.mailInfo.name || ''
          });

          // 设置memu height
          var menuHeightClass;

          if (_memuData.length <= 5) {
            menuHeightClass = 'in1';
          } else {
            menuHeightClass = 'in2';
          }

          var dataArray = [];

          for (var i = 0; i < page; i++) {
            var dataArray2 = [];
            for (var j = 0; j < size; j++) {
              var a = _memuData[j];
              if (a != undefined) {
                dataArray2.push(_memuData[j]);
              }
            }
            _memuOldData = _memuOldData.slice(size);

            _memuData = _memuOldData;
            dataArray.push(dataArray2);
          }

          that.setData({
            footshow: true,
            bottom_info: {},
            bannerData: _data.ads,
            goodsData: _data.goods,
            memuData: dataArray,
            // 设置memu height
            menuHeightClass: menuHeightClass,
          });

        }

        if(this.data.fullShow) {
          setTimeout(() => {
            that.setData({
              showPage: true
            });
          }, 2000);
        } else {
          that.setData({
            showPage: true
          });
        }
        
        wx.hideLoading();

        //是否显示新人奖弹窗
        try {
          let storage_newAward = wx.getStorageSync("storage_newAward");
      
          if (storage_newAward && storage_newAward.prize) {
            let _prizeData = storage_newAward;
            let new_member_prize = {};
            let activityDatas= _prizeData.activity;
            new_member_prize.type = _prizeData.activity.background_type;
            new_member_prize.title = _prizeData.activity.title;
            new_member_prize.awardlist = _prizeData.prize;
            if (storage_newAward.prize.length == 0) {
              that.setData({
                showNewcomerAward: false,
              });
            } else {
              that.setData({
                new_member_prize: new_member_prize,
                activityDatas:activityDatas,
              });
              setTimeout(() => {
                that.setData({
                  showNewcomerAward: true
                })
              }, 200);
            }

          } else {
            // 新弹窗广告
            let popAdvertisement = wx.getStorageSync('popAdvertisement');
            if (this.data.advertising && this.data.advertising.id && !popAdvertisement && this.data.advertising.show_rule === 1) {
              wx.setStorageSync('popAdvertisement', true);
              this.setData({
                popShow: true
              });
            }

            let popAdvertisement_expiration = wx.getStorageSync('popAdvertisement_expiration');
            let pop_newTime = parseInt(Date.parse(new Date()) / 1000);
            if (this.data.advertising && this.data.advertising.id && this.data.advertising.show_rule === 2 && popAdvertisement_expiration < pop_newTime) {
              let timestamp = parseInt((new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) / 1000); //当天23:59:59
              wx.setStorageSync("popAdvertisement_expiration", timestamp);
              //每日小程序登录弹出
              this.setData({
                popShow: true
              });
            }
          }
        } catch (e) {
          console.log("新人奖报错：：：", e);
        }
      },
      fail: function (res) {
        wx.stopPullDownRefresh({
          complete: function (res) {
            console.log('关闭下拉刷新', res, new Date());
          }
        });
      }
    });
  },
  pluginHandle(yz_basic_info){
    let basic_info = yz_basic_info||this.yz_basic_info||{};
    let plugin_setting = basic_info?.plugin_setting||{};
    let { quicken_income, address_code } = plugin_setting;
    this.quickenIncomePlu(quicken_income);//#24778
    this.address_codeMethod(address_code);
  },
  quickenIncomePlu(quicken_income){
    if(quicken_income?.dialog && quicken_income.dialog.show_dialog) {
      this.setData({
        quicken_income_pop_show: true,
        quicken_income_pop_content: quicken_income.dialog.dialog_text
      })
    }
  },
  onCloseQuickenIncome(){
    this.setData({
      quicken_income_pop_show: false
    })
  },
  address_codeMethod(address_code){
    if(app.data.address_code){
      try {
        if(address_code && address_code.enable){
          let urlStr = app.getNetAddresss('plugin.address-code.frontend.index.set-address');
          app._postNetWork({
            url: urlStr,
            data: {
              address_id: app.data.address_code,
            },
            success: (resdata) => {
              var res = resdata.data;
              if (res.result == 1) {
                console.log(res.data)
                app.data.address_code = '';
              } else {
                if(res.data.status == 0){
                  wx.reLaunch({
                    url: "/packageA/member/editmobile/editmobile?fromApp=1&is_code=1",
                  });
                }
                console.log(res.data.status,'1146')
              }
            }
          });
        }
      } catch (error) {
        console.log(error);
      }
    }
  },
  gotoBrand(evt) {
    let item = evt.currentTarget.dataset.item;
    wx.navigateTo({
      url: '/packageB/member/category/brandgoods/brandgoods?id=' + item.id,
    });
  },
  gotoBrandV2() {
    wx.navigateTo({
      url: '/packageB/member/category/brand_v2/brand_v2',
    });
  },
  gotoTimeGood(evt) {
    let item = evt.currentTarget.dataset.item;
    wx.navigateTo({
      url: '/packageA/detail_v2/detail_v2?id=' + item.id,
    });
  },
  gotoLimitedTimeGoods() {
    wx.navigateTo({
      url: '/packageG/limitedTimeGoods/limitedTimeGoods',
    });
  },
  getMoreDecorate() {
    let that = this;
    that.setData({
      decorate_isLoadMore: false
    });

    if (that.data.current_page < that.data.total_page) {
      that.setData({
        current_page: that.data.current_page + 1
      });
      let urlStr = app.getNetAddresss('plugin.decorate.frotend.decorate-api.get-page');
      app._postNetWork({
        url: urlStr,
        data: {
          decorate_page: this.data.current_page,
          decorate_id: this.data.page_id
        },
        success: (resdata) => {
          var res = resdata.data;
          if (res.result == 1) {
            that.setData({
              decorate_isLoadMore: true,
              components: that.data.components.concat(res.data.datas)
            });
          } else {
            that.setData({
              decorate_isLoadMore: false,
              current_page: that.data.current_page - 1
            });
            console.log(res.msg);
          }
        }
      });
    }

  },
  getAdvertise() {
    let urlStr = app.getNetAddresss('member.member.getAdvertisement');
    app._getNetWork({
      url: urlStr,
      success: (resdata) => {
        var res = resdata.data;
        if (res.result == 1) {
          if (res.data.advertisement) {
            this.setData({
              advertisement: res.data.advertisement
            });
            if (this.data.advertisement.switch) {
              // 全屏广告首次登录
              if (this.data.advertisement.rule === 1) {
                // everyTime == false证明不是每次进首页广告
                if (!this.data.everyTime) {
                  this.setData({
                    fullShow: true
                  });
                  this.countDown(this.data.advertisement.time);
                }
              } else {
                // 全面每次广告
                this.setData({
                  fullShow: true,
                  everyTime: true
                });
                this.countDown(this.data.advertisement.time);
              }
            }

            if (this.data.advertisement.Midswitch) {
              // 弹窗首次登录
              if (this.data.advertisement.Midrule === 1) {
                // everyTime == false证明不是每次进首页广告
                if (!this.data.everyTime) {
                  this.setData({
                    // fullShow: false,
                    popShow: true
                  });
                }
              } else {
                console.log('弹窗每次登录');
                this.setData({
                  popShow: true,
                  everyTime: true
                });
              }
            }

          }
        } else {
          console.log(res.msg, '该用户不是首次登录');
          this.setData({
            advertisement: res.data
          });

          if (this.data.advertisement.switch) {
            if (this.data.advertisement.rule === 1) {
              this.setData({ // 全屏广告为1，但是接口返回result为0时，改用户不是首次登录
                fullShow: false
              });
              this.countDown(this.data.advertisement.time);
            } else {
              this.setData({
                fullShow: true,
              });
              this.countDown(this.data.advertisement.time);
            }
          }
          if (this.data.advertisement.Midswitch) {
            if (this.data.advertisement.Midrule === 1) {
              this.setData({
                popShow: false
              });
            } else {
              this.setData({
                popShow: true,
              });
            }
          }
        }
      },
      fail: function (res) {
        console.log(res);
      }
    });
  },
  turnFullTo() {
    let url = this.data.full_screen.minapp_link;
    try {
      wx.navigateTo({
        url: url
      });
    } catch (e) {
      wx.showToast({
        title: '链接设置错误',
        icon: 'none',
        duration: 2000
      });
    }
  },
  turnTo() {
    if (this.data.advertising.is_minapp == 2) {
      if (this.data.advertising.minapp_sid) {
        if (this.data.advertising.minapp_link2) {
          try {
            wx.navigateToMiniProgram({
              appId: this.data.advertising.minapp_sid,
              path: this.data.advertising.minapp_link2,
              extraData: {},
              envVersion: 'release',
              success(res) {
                // 打开成功
              },
              fail(res) {
                wx.showToast({
                  title: '小程序跳转失败',
                  icon: 'none',
                  duration: 2000
                });
              }
            });
          } catch (e) {
            wx.showToast({
              title: '小程序跳转失败',
              icon: 'none',
              duration: 2000
            });
          }
        } else {
          wx.showToast({
            title: '请设置跳转小程序后的跳转链接',
            icon: 'none',
            duration: 2000
          });
        }
      } else {
        wx.showToast({
          title: '请设置小程序所需跳转appId',
          icon: 'none',
          duration: 2000
        });
      }
    } else {
      let url = this.data.advertising.minapp_link;
      try {
        wx.navigateTo({
          url: url
        });
      } catch (e) {
        wx.showToast({
          title: '链接设置错误',
          icon: 'none',
          duration: 2000
        });
      }
    }
  },
  closePop() {
    this.setData({
      popShow: false
    });
  },
  closeFull() {
    this.setData({
      fullShow: false
    });
  },
  countDown(num) {
    let numberNum = num;
    this.setData({
      'full_screen.show_time': numberNum,
      'advertisement.time': numberNum
    });
    numberNum--;

    let cleartime = setTimeout(() => {
      if (numberNum <= 0) {
        this.setData({
          fullShow: false
        });
        clearInterval(cleartime);
      } else {
        this.countDown(numberNum);
      }
    }, 1000);
  },
  tel: function (e) {
    var telnum = e.currentTarget.dataset.telnum;

    wx.makePhoneCall({
      phoneNumber: telnum
    });
  },
  // 事件处理函数
  goToDetail: function (event) {
    var url = '/packageA/detail_v2/detail_v2?id=' + event.currentTarget.id;
    wx.navigateTo({
      url: url
    });
    console.log(url);
  },

  goGoodsList: function (e) {
    var _id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '/packageB/member/category/catelist/catelist?id=' + _id
    });
  },
  clickADTo() {
    if (this.data.bannerData[0].small_link) {
      console.log("设置小程序跳转", this.data.bannerData[0].small_link);
      try {
        wx.navigateTo({
          url: this.data.bannerData[0].small_link
        });
      } catch (err) {
        console.log(err);
      }
    }
  },
  clickADPlaceTo(e) {
    let _link = e.currentTarget.dataset.link;
    console.log("设置小程序跳转", _link);
    if (_link) {
      try {
        wx.navigateTo({
          url: _link
        });
      } catch (err) {
        console.log(err);
      }
    }
  },
  // 获取更多数据
  getMoreData() {
    const that = this;
    that.setData({
      isLoadMore: false
    });
    if (this.data.page >= this.data.last_page) {
      return;
    } else {
      that.setData({
        page: this.data.page + 1
      });
      let urlStr = app.getNetAddresss('home-page.get-first-goods-page');
      app._getNetWork({
        url: urlStr,
        data: {
          page: that.data.page
        },
        success: function (resdata) {
          var res = resdata.data;
          if (res.result == 1) {
            if (that.data.page >= that.data.last_page) {
              that.setData({
                isLoadMore: false
              });
            } else {
              that.setData({
                isLoadMore: true
              });
            }
            var myData = res.data.data;
            that.setData({
              'defaultdata.goods.data': that.data.defaultdata.goods.data.concat(myData)
            });
          } else {
            that.setData({
              page: that.data.page - 1,
              isLoadMore: false
            });
          }
        },
        fail: function (res) {
          console.log(res);
        }
      });
    }
  },
  gophone(e) {
    let num = e.currentTarget.dataset.num;
    wx.makePhoneCall({
      phoneNumber: num
    });
  }
});